import { IPSDELogicLinkGroupCond } from './ipsdelogic-link-group-cond';
import { IPSDELogicNode } from './ipsdelogic-node';
import { IPSModelObject } from '../../ipsmodel-object';

/**
 *
 * @export
 * @interface IPSDELogicLink
 */
export interface IPSDELogicLink extends IPSModelObject {
  /**
   * 目标逻辑节点对象
   *
   * @type {IPSDELogicNode}
   */
  getDstPSDELogicNode(): IPSDELogicNode | null;

  /**
   * 连接条件对象
   *
   * @type {IPSDELogicLinkGroupCond}
   */
  getPSDELogicLinkGroupCond(): IPSDELogicLinkGroupCond | null;

  /**
   * 源逻辑节点对象
   *
   * @type {IPSDELogicNode}
   */
  getSrcPSDELogicNode(): IPSDELogicNode | null;

  /**
   * 异常处理连接
   * @type {boolean}
   * @default false
   */
  catchLink: boolean;

  /**
   * 默认连接
   * @type {boolean}
   * @default false
   */
  defaultLink: boolean;

  /**
   * 子调用连接
   * @type {boolean}
   * @default false
   */
  subCallLink: boolean;
}
